package yl.hs.bmipfull.service.production;

import com.github.pagehelper.PageInfo;
import yl.hs.bmipfull.pojo.production.BrickShipOrderDetailEntity;
import yl.hs.bmipfull.pojo.production.BrickShipOrderEntity;
import yl.hs.bmipfull.pojo.production.BrickShipOrderModel;
import yl.hs.bmipfull.service.IBaseService;
import yl.hs.bmipfull.viewmodels.PageQuery;
import yl.hs.bmipfull.viewmodels.PageResult;
import yl.hs.bmipfull.viewmodels.SubmitModel;
import yl.hs.bmipfull.viewmodels.TrayStatisticsVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/*
 * IBrickShipService
 * @category
 * @author 谢景广
 * @date 2022-12-13
 */
public interface IBrickShipService extends IBaseService {
    PageResult<Object> queryOrderPage(PageQuery query, int rowNum, int page);

    List<BrickShipOrderEntity> queryOrderList(PageQuery pageQuery,int rowNum,int page);

    List<BrickShipOrderModel> queryList(PageQuery pageQuery);

    String saveOrder(SubmitModel model) throws Exception;

    BrickShipOrderEntity findBySN(String sn);

    List<BrickShipOrderDetailEntity> getDetailByOrderSN(String orderSN);

    PageResult<BrickShipOrderEntity> queryFreightPage(PageQuery query, int rowNum, int page);

    Integer saveReviewOrders(SubmitModel submitModel);

    Integer saveFreightReviewOrders(SubmitModel submitModel);

    Integer saveSignInfo(SubmitModel submitModel) throws Exception;

    Integer invalidOrder(String sn, String cause);

    Integer cancelReview(String[] snArray);

    List<Map<String,Object>> queryExportOrderList(PageQuery query);

    PageResult<BrickShipOrderModel> queryModelPage(PageQuery query, int rowNum, int page);

    Integer saveBatchReviewOrders(SubmitModel submitModel);

    Integer cancelBatchReview(String[] split);

    PageInfo<TrayStatisticsVO> trayStatistics(PageQuery query, int page, int pageSize);
    BrickShipOrderEntity   findByTruckPlate(String truckPlate,int state);
    PageResult<BrickShipOrderModel> queryModelPageByContractListSN(PageQuery query, int rowNum, int page);
    Integer updatePrinCount(String sn);
    Integer restoreOrder(String sns);
    Integer updateWeight(String sn, BigDecimal weight);
}
